今天要來接續昨天的內容,來講講如何處理 FlexMessage 上面按鈕觸發後的動作。
在 Line 中,這種觸發一律會觸發 PostbackAction ,接著會回傳 PostbackEvent 到我們的後端,所以我們需要在一個處理 PostbackEvent 的處裡函式。
不過在處理之前,我們要先將 FlexMessage 調整一下,將 Button 的 Action type 調整成為 Postback ,並設定好相關資訊。 label 是設定顯示的文字;data 則是設定 Postback 要回傳的訊息;displayText 則是觸發後會顯示的訊息。
FlexMessage 調整完之後,就可以開始設定我們的後端處裡函式了,處理方式大致與前面相同。
詳細資訊同樣可參考 官方文件
我們新增一個處裡函式如下。
@handler.add(PostbackEvent)
def handle_postback(event):
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text=event.postback.data)
)
沒意外的話點下去會先出現 PostbackAction
,接著再回復 PostbackEvent
總共兩則訊息。
那麼就先到這邊,FlexMessage 暫時介紹到這邊,明天會介紹不一樣的東西。
大家掰~掰~